#pragma once

// {53F64940-23FB-4170-9894-C38D17E019C0}
MS_DEFINE_GUID(CLSID_DlUI, 
			0x53f64940, 0x23fb, 0x4170, 0x98, 0x94, 0xc3, 0x8d, 0x17, 0xe0, 0x19, 0xc0);

#include "..\public\include\signalapp_i.h"
#include "mscomhelper\UseConnectionPoint.h"
#include "DLTaskMgrDlg.h"
class CDlUI : 
	public IMsPlugin , 
	public IMsPluginRun , 
	public IExit , 
	public ISingleAppMsgConnectPoint,
	CUnknownImp
{
public:
	UNKNOWN_IMP4_(IMsPlugin , IMsPluginRun , IExit , ISingleAppMsgConnectPoint);
	STDMETHOD(init_class)(IMSBase* pRot , IMSBase*pOuter)
	{
		RASSERT(pRot , E_INVALIDARG);
		m_pRot = pRot;
		return S_OK;
	}
	//IMsPlugin
	STDMETHOD(Init)(void*) ;
	STDMETHOD(Uninit)();
	//IMsPluginRun
	STDMETHOD(Start)() ;
	STDMETHOD(Stop)();

	//IExit
	STDMETHOD(NotifyExit)(bool* bExit = NULL);
	STDMETHOD(OnSingleAppMsg)(IXMLTree3* lpArgXml , BOOL& bHandle);
public:
	CDlUI(void);
	~CDlUI(void);
	
private:
	UTIL::com_ptr<IMscomRunningObjectTable> m_pRot;
	UseConnectPoint<ISingleAppMsgConnectPoint>  m_pSignalApp;
	CDLTaskMgrDlg mainFrame;
};
